home *** CD-ROM | disk | FTP | other *** search
- /* MiniMailer.h */
- /*
- * MiniMailer is an extremely simple mailer demo that allows you to
- * send a TEXT file to a remote address. That's all it does. This
- * demo is only intended to let you gain initial familiarity with
- * the mailer; that's all it does. It is *not* a "real" application.
- *
- * The only, repeat, only intent of this demo is to show you the
- * simplest-possible interaction with the standard mailer. See
- * CollabDraw for a more extensive real-world application.
- *
- * Oh, it has one other purpose: because it is so small, it can
- * act as a test-bed for exploring some parts of the mailer.
- *
- * Author: Martin Minow, MACDTS.
- * AppleLink: DEVSUPPORT
- *
- * Copyright © 1992-93, Apple Computer Inc. All Rights Reserved.
- */
-
- /*
- * Menu organization
- */
- #define MBAR_MenuBar 1
- #define MENU_Apple 1
- #define MENU_File 256
- #define MENU_Edit 257
- #define ALRT_Error 9000
-
-
- #ifndef REZ
- /*
- * The rest of this file is unusable by Rez
- */
- #include <Processes.h>
- #include <Errors.h>
- #include <Finder.h>
- #include <Folders.h>
- #include <Script.h>
- #include <Types.h>
- #include <Resources.h>
- #include <QuickDraw.h>
- #include <Fonts.h>
- #include <Events.h>
- #include <Windows.h>
- #include <Menus.h>
- #include <TextEdit.h>
- #include <Dialogs.h>
- #include <Desk.h>
- #include <ToolUtils.h>
- #include <Memory.h>
- #include <Files.h>
- #include <OSUtils.h>
- #include <OSEvents.h>
- #include <DiskInit.h>
- #include <Packages.h>
- #include <Traps.h>
- #include <Lists.h>
- #include <GestaltEqu.h>
- #include <OCE.h>
- #include <OCEAuthDir.h>
- #include <OCEStandardDirectory.h>
- #include <OCEStandardMail.h>
- #include <OCEStandardDirectory.h>
- #include <OCEErrors.h>
- #ifndef EXTERN
- #define EXTERN extern
- #endif
-
- #ifndef TRUE
- #define TRUE 1
- #define FALSE 0
- #endif
- #ifdef kSDPInstallPanelBusyProc /* TEMP #ifdef */
- #define OCE_Beta2 TRUE
- #else
- #define OCE_Beta2 FALSE
- #endif
-
- /*
- * Menu options.
- */
- enum {
- kAppleAbout = 1
- };
- enum {
- kFileSend = 1,
- kFileUnused1,
- kFileTestGetListItemInfo,
- kFileTestAddAttachment,
- kFileUnused2,
- kFileTestNoTarget,
- kFileTestBecomeTarget,
- kFileUnused3,
- kFileQuit,
- kFileForceQuit
- };
- enum {
- kEditUndo = 1,
- kEditCut = 3,
- kEditCopy = 4,
- kEditPaste = 5,
- kEditClear = 6
- };
-
- #define kScrollBarSize 16
-
- EXTERN MenuHandle gAppleMenu;
- EXTERN MenuHandle gFileMenu;
- EXTERN MenuHandle gEditMenu;
-
- EXTERN EventRecord gEventRecord;
- EXTERN WindowPtr gMailerWindow;
- EXTERN OSErr gStatus;
- EXTERN SMPMailerResult gWhatHappened;
- EXTERN SMPMailerState gMailerState;
- EXTERN SMPMailerComponent gLastTargetComponent;
- EXTERN short gMailerChangeCount;
- EXTERN Boolean gQuitNow;
- EXTERN Str255 gMailDocumentTitle;
- EXTERN Boolean gMessageHasDestination;
- EXTERN Boolean gCopyInProgress;
- EXTERN Boolean gHasAOCEToolbox;
- EXTERN Boolean gHasColorQuickDraw;
-
- /*
- * gMailerState is used to handle the Edit menu.
- * the gMailerEditCommands vector changes the
- * menu item to the editor command value.
- */
- EXTERN SMPMailerState gMailerState;
- extern const SMPEditCommand gMailerEditCommands[];
-
- /*
- * For SendMailMessage()
- */
- EXTERN SMPSendFormat gSendFormat;
- #if OCE_Beta2
- EXTERN SMPSendOptions gSendOptions;
- #else
- EXTERN SMPSendOptionsHandle gSendOptions;
- #endif
- EXTERN Boolean gMustAddContent;
-
- /*
- * For SDPPromptForIdentity
- */
- EXTERN AuthIdentity gUserIdentity;
-
- /*
- * For the file I/O
- */
- EXTERN short gFileRefNum; /* Open file ID */
- EXTERN Ptr gFileDataBuffer; /* Data read here */
- EXTERN long gFileByteCount; /* Bytes read from file */
- EXTERN Boolean gFileAtEOF; /* TRUE at end of file */
- #define kFileReadSize 4096 /* Amount to read */
-
- void main(void);
- void DoApplicationEvent(void);
- void DoActivateEvent(
- WindowPtr theWindow,
- Boolean isActivate
- );
- void DoUpdateEvent(void);
- void DoKeyDownEvent(void);
- void DoApplicationMouseEvent(void);
- void DoMenuCommand(
- long menuChoice
- );
- void AdjustMenus(
- Boolean isDeskAccessory
- );
- void FixEditMenu(
- short menuItem,
- Boolean enableIt
- );
- void InitializeAppleEvents(void);
- void DoHighLevelEvent(void);
- void InitializeMacintosh(void);
- void InitializeMailer(void);
- void BuildMailerWindow(void);
- void TestGetListItemInfo(void);
- void TestAddAttachment(void);
- void CheckForDestination(void);
- void SendMailMessage(void);
- Boolean SendThisFile(void);
- Boolean GetFileToSend(void);
- void ReadDataFromFile(void);
- void CloseDataFile(void);
- void ErrorAlert(
- OSErr status,
- StringPtr messageText
- );
- OSErr GetUserIdentity(
- AuthIdentity *userIdentity
- );
- OSErr SystemSupportsAOCE(void);
-
- /*
- * Cheap 'n dirty pascal string copy routine.
- */
- #define pstrcpy(dst, src) do { \
- StringPtr _src = (src); \
- BlockMove(_src, dst, _src[0] + 1); \
- } while (0)
-
- #endif /* If compiling code */
-
-